/**
 * 销售订单相关的API接口封装
 * 提供订单数据的增删改查功能
 */
import request from "@/utils/request";

/**
 * 获取订单列表（支持分页和筛选）
 * @param {Object} params - 请求参数
 * @param {number} params.page - 页码，默认为1
 * @param {number} params.pageSize - 每页条数，默认为10
 * @param {string} params.orderNumber - 订单编号筛选条件（可选）
 * @param {string} params.customerName - 客户名称筛选条件（可选）
 * @param {string} params.status - 订单状态筛选条件（可选）
 * @param {string} params.startDate - 订单开始日期筛选条件（可选）
 * @param {string} params.endDate - 订单结束日期筛选条件（可选）
 * @param {string} params.babyName - 婴儿名称筛选条件（可选）
 * @param {string} params.productName - 产品名称筛选条件（可选）
 * @returns {Promise} 返回包含订单列表和分页信息的Promise
 */
export function getOrderList(params = {}) {
  // 设置默认分页参数
  const defaultParams = {
    page: 1,
    pageSize: 10,
    ...params
  }

  return request({
    url: "/salesOrders/list",
    method: "get",
    params: defaultParams
  });
}

/**
 * 获取订单详情
 * @param {string} orderId - 订单ID
 * @returns {Promise} 返回包含订单详情的Promise
 */
export function getOrderById(orderId) {
  return request({
    url: `/salesOrders/${orderId}`,
    method: "get"
  });
}

/**
 * 创建订单
 * @param {Object} data - 订单数据
 * @returns {Promise} 返回创建结果
 */
export function createOrder(data) {
  return request({
    url: "/salesOrders/add",
    method: "post",
    data
  });
}

/**
 * 更新订单
 * @param {Object} data - 订单数据
 * @returns {Promise} 返回更新结果
 */
export function updateOrder(data) {
  return request({
    url: "/salesOrders/update",
    method: "put",
    data
  });
}

/**
 * 删除订单
 * @param {string} orderId - 订单ID
 * @returns {Promise} 返回删除结果
 */
export function deleteOrder(orderId) {
  return request({
    url: `/salesOrders/${orderId}`,
    method: "delete"
  });
}
